Salesforce | Transformer变体!用于时间序列预测的指数平滑Transformer(含源码)
引言
近年来,Transformer在时间序列预测方面得到了快速的发展。但是在设计上并没有充分利用时间序列数据的特性,因此存在一些基本的局限性(不可分解、低效)。为此本文提出了一种新的时间序列Transformer结构,其中,用模块化分解块重新设计了Transformer体系结构,以便它能够学会将时间序列数据分解为可解释的时间序列组受;经典指数平滑方法的启发,提出了新的指数平滑注意(ESA)和频率注意(FA)来取代vanilla Transformer中的自注意机制,从而提高了精度和效率。
背景介绍
近年来,Transformer模型在NLP和CV领域上都取得了巨大的成功。它的成功主要归功于它的自注意机制,它能够通过成对的(query-key)请求--键交互自适应地建模短期和长期依赖关系。基于Transformer的体系结构具有强大的时序数据建模能力,已被积极探索用于时间序列预测,特别是更具有挑战性的长时间序列预测(LSTF)任务。虽然得出了不错的结果,但提取显著的时间模式,进而利用大规模数据进行准确的长期预测仍然存在挑战。这是因为时间序列数据通常是有噪声和非平稳的。如果不结合有关时间序列结构的相关知识,就容易学习虚假的依赖关系,也缺乏可解释性。
此外,在Transformer中使用基于内容的点积注意力并不能有效地检测基本的时间依赖性,其原因主要有两个:(1)首先,通常假设时间序列数据是由过去观测数据的条件分布生成的,随着时间的推移,观测数据之间的相关性会减弱。因此,相邻的数据点具有相似值,在测量它们的相似度时,应该赋予最近的Token更高的权重。这表明在建模时间序列时,用相对时间滞后测量的注意力比用内容相似度测量的注意力更有效。(2)其次,许多现实世界的时间序列显示出强烈的周期性——时间序列中的模式以固定的周期重复。自动提取周期模式已被证明是预测成功的关键,然而在没有任何内置的先验结构的情况下,普通注意机制不太可能学习到这些必需的周期性依赖关系。
为了解决这些限制,受指数平滑方法的启发,本文提出ETSformer,这是一种用于时间序列预测的有效且高效的Transformer体系结构。其模型架构如下图所示:
本文模型方法
首先,ETSformer通过执行分层、增长和周期分解,合并了时间序列结构的归纳偏差。通过利用深度架构的高容量和有效的残差学习方案,ETSformer能够提取一系列潜在的增长和周期性模式,并对其复杂的依赖性进行建模。如下图所示:
ETSformer引入了一种新颖的指数平滑注意力(ESA)和频率注意力(FA)来代替普通注意力。特别是,ESA基于查询的相对时间滞后构建注意力分数,并实现了长度为L的回溯窗口的O(Llog L)复杂度,并展示了强大的增长组件建模能力。FA利用傅里叶变换通过选择频域中幅度最大的K个傅里叶基来提取主要的周期性模式,并且还实现了O(Llog L)复杂度。
最后,预测的结果是水平、趋势和周期成分的组合,这使其具有可解释性。
实验结果
本文进行了大量的实证分析,表明ETSformer在多变量和单变量设置下,优于目前的主要算法,并实现了最先进的性能,并将时间序列组件可视化,以验证其可分解行与解释性。
1、下表显示了ETSformer在选择的多变量设置的数据集上实验的结果。
推荐阅读
[1]快看!Transformer中的自注意力机制(Self-attention)竟有这么多变体
[2]中科院|基于“敏感情感识别”和“理性知识选择”的情感对话生成(含源码)
[3]EMNLP2022 | “Meta AI 9篇接受论文”,其中7篇主会、2篇Findings
论文&&源码
Paper:https://arxiv.org/pdf/2202.01381.pdf
Code:https://github.com/salesforce/etsformer